package com.code.train.service;

import com.code.train.domain.DailyTrainSeat;
import com.code.train.req.DailyTrainSeatQueryReq;
import com.code.train.req.DailyTrainSeatSaveReq;
import com.code.train.resp.PageResp;
import com.code.train.resp.DailyTrainSeatQueryResp;

import java.util.Date;
import java.util.List;

/**
 * TrainService
 *
 * @param
 * @author 南汉卿
 * @return
 * @date 2025/8/21 23:57
 */
public interface DailyTrainSeatService {
    void save(DailyTrainSeatSaveReq req);

    PageResp<DailyTrainSeatQueryResp> queryList(DailyTrainSeatQueryReq req);

    void delete(Long id);

    void genDaily(Date date, String trainCode);

    int countSeat(String trainCode, Date date);

    int countSeat(String trainCode, Date date, String seatType);

    List<DailyTrainSeat> selectByCarriage(Date date, String trainCode, Integer carriageIndex);
}